"""
第一题AC了42%，第二题AC了26%
"""

# 在一个游戏的副本中，有一排需要打败的怪物，初始状态下，每只怪物有1点血，
# 你希望从左到右依次击杀这些怪物，你以为你可以一刀一个？太天真了，
# 这些怪物分为两种，0型怪物和1型怪物。他们具有如下特性：
# 当1型怪物被击杀时，会对它右边的0型怪物都加上一个1点血的护甲。
# 巧合的是，你的攻击力也是1点，也就是说你每次挥刀都可以使得当前怪物减少一滴血或1护甲，
# 请问你击败这些怪物共需要挥刀多少次？
# 输入：第一行输入怪物的数量N；第二行输入N个怪物的类型

# 测试用例
# 4
# 0 1 0 1
# 输出：5

# 解答
totalN = 5  # int(input())
ID = [0, 1, 1, 1, 0]  # list(map(int, input().split()))
killed = 0
hit_count = 0
for i in range(totalN):
    killed += 1
    if killed < totalN:
        if ID[i] == 0:
            hit_count += 1
        if ID[i] == 1 and ID[i + 1] == 0:
            hit_count += 2
        if ID[i] == 1 and ID[i + 1] == 1:
            hit_count += 1
    else:
        hit_count += 1
print(hit_count)
